package com.base.common.edu.mapper;

import com.base.common.edu.entity.SysGroup;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @Author Maple.Chen
 * @Description 数据交互层-Group
 * @Date 0:33 2021/2/18
 **/
@Mapper
@Repository
public interface GroupMapper {

    // 增加一个角色组
    int saveRoleGroup(@Param("gro")SysGroup sysGroup);

    // 删除一个角色组
    int deleteRoleGroup(String group__id);

    // 根据Id查询角色组
    SysGroup queryRoleGroupById(String group__id);

    // 修改角色组名
    int updateRoleGroup(@Param("gro")SysGroup sysGroup);

    // 根据职工id查询所关联的组
    List<SysGroup> queryGroupsByStaffId(String staff__id);

    // 根据角色id查询所关联的组
    List<SysGroup> queryGroupsByRoleId(String role__id);

    // 增加一个职工到角色组的关系绑定
    int saveTieToStaffAndGroup(@Param("group__id") String group__id, @Param("staff__id") String staff__id);

    // 移除一个职工到角色组的关系绑定
    int removeTieToStaffAndGroup(@Param("group__id") String group__id, @Param("staff__id") String staff__id);

    /***
     * new Add 用户权限管理
     */
    // 根据组名置换组Id
    String switchGroupNameToId(String group__name);

    // 查询所有的角色组
    List<SysGroup> queryAllGroups();

}
